javascript:(function() {
  function getXPath(el) {
    if (el.id !== '') {
      return 'id("' + el.id + '")';
    }
    if (el === document.body) {
      return '/html/body';
    }

    var ix = 0;
    var siblings = el.parentNode.childNodes;
    for (var i = 0; i < siblings.length; i++) {
      var sibling = siblings[i];
      if (sibling === el) {
        var path = getXPath(el.parentNode) + '/' + el.tagName.toLowerCase();
        if (ix > 0) path += '[' + (ix + 1) + ']';
        return path;
      }
      if (sibling.nodeType === 1 && sibling.tagName === el.tagName) {
        ix++;
      }
    }
  }

  document.body.style.cursor = 'crosshair';
  alert('Klik elemen mana saja untuk mendapatkan XPath-nya.');

  document.addEventListener('click', function handler(e) {
    e.preventDefault();
    e.stopPropagation();
    var xpath = getXPath(e.target);
    prompt('XPath dari elemen yang diklik:', xpath);
    document.body.style.cursor = 'default';
    document.removeEventListener('click', handler, true);
  }, true);
})();
